package com.qf.agro.controller.sys;

import com.qf.agro.common.ResultInfo;
import com.qf.agro.common.SysUserHolder;
import com.qf.agro.pojo.SysRole;
import com.qf.agro.pojo.SysUser;
import com.qf.agro.service.sys.RoleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;
import java.util.Map;

/**
 * 角色管理
 * @author 千锋健哥
 */
@RestController
@RequestMapping("/sys/role")
public class RoleController {

    @Autowired
    private RoleService roleService;

    /**
     * 角色列表
     * @return
     */
    @GetMapping("/list")
    public ResultInfo findList() {
        List<SysRole> list = roleService.findAllRoleList();
        return ResultInfo.success(list);

    }

    /**
     * 根据用户id获取对应的角色列表
     * @param userId
     * @return
     */
    @GetMapping("/userRole")
    public ResultInfo findRoleByUid(Long userId) {
        List<SysRole> list = roleService.findListByUserId(userId);
        return ResultInfo.success(list);
    }

    /**
     * 更新用户角色
     * @return
     */
    @PostMapping("/userRole")
    public ResultInfo updateRole(@RequestBody Map<String, Object> paramMap) {
        //1. 获取参数
        String userId = (String)paramMap.get("userId");
        List<String> roleIds = (List<String>)paramMap.get("roleIds");

        //2. 调用service进行角色更新
        roleService.updateRoles(Long.parseLong(userId), roleIds);

        //3. 返回结果
        return ResultInfo.success(null);
    }
}
